// Decompiled by GOOSIN CO,LTD Copyright 2010 Pavel Kouznetsov.
// home page: http://www.Goosin.net
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   register_draft_ok.java

package crm.invoice;

import include.nseer_cookie.counter;
import include.nseer_db.nseer_db_backup1;
import java.io.IOException;
import java.sql.ResultSet;
import java.util.StringTokenizer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.jsp.JspFactory;
import validata.ValidataNumber;
import validata.ValidataTag;

public class register_draft_ok extends HttpServlet
{

	ServletContext application;
	HttpSession session;
	nseer_db_backup1 erp_db;

	public register_draft_ok()
	{
		erp_db = null;
	}

	public synchronized void doPost(HttpServletRequest request, HttpServletResponse response)
		throws IOException, ServletException
	{
		HttpSession dbSession = request.getSession();
		JspFactory _jspxFactory = JspFactory.getDefaultFactory();
		javax.servlet.jsp.PageContext pageContext = _jspxFactory.getPageContext(this, request, response, "", true, 8192, true);
		ServletContext dbApplication = dbSession.getServletContext();
		try
		{
			ValidataTag vt = new ValidataTag();
			String reasonexact = request.getParameter("reasonexact");
			nseer_db_backup1 crm_db = new nseer_db_backup1(dbApplication);
			if (crm_db.conn((String)dbSession.getAttribute("unit_db_name")))
			{
				if (vt.validata((String)dbSession.getAttribute("unit_db_name"), "crm_order", "order_ID", reasonexact, "invoice_check_tag").equals("0"))
				{
					counter count = new counter(dbApplication);
					ValidataNumber validata = new ValidataNumber();
					String product_amount = request.getParameter("product_amount");
					int num = Integer.parseInt(product_amount);
					int p = 0;
					int pp = 0;
					for (int i = 1; i <= num; i++)
					{
						String tem_invoice_sum = (new StringBuilder("invoice_sum")).append(i).toString();
						String tem_remark = (new StringBuilder("remark")).append(i).toString();
						String invoice_sum2 = request.getParameter(tem_invoice_sum);
						String remark = request.getParameter(tem_remark);
						if (invoice_sum2 == null || invoice_sum2.equals(""))
						{
							invoice_sum2 = "0";
							pp++;
						}
						if (remark == null)
							remark = "";
						StringTokenizer tokenTO2 = new StringTokenizer(invoice_sum2, ",");
						String invoice_sum;
						String invoice_sum1;
						for (invoice_sum = ""; tokenTO2.hasMoreTokens(); invoice_sum = (new StringBuilder(String.valueOf(invoice_sum))).append(invoice_sum1).toString())
							invoice_sum1 = tokenTO2.nextToken();

						if (!validata.validata(invoice_sum))
							p++;
						if (remark.indexOf("'") != -1 || remark.indexOf("\"") != -1)
							p++;
					}

					if (p == 0 && pp != num)
					{
						String reason = request.getParameter("reason");
						String customer_ID = request.getParameter("customer_ID");
						String customer_name = request.getParameter("customer_name");
						String real_customer_mailing_address = request.getParameter("real_customer_mailing_address");
						String real_contact_person = request.getParameter("real_contact_person");
						String real_contact_person_tel = request.getParameter("real_contact_person_tel");
						String real_contact_person_fax = request.getParameter("real_contact_person_fax");
						String real_invoice_time = request.getParameter("real_invoice_time");
						String real_invoice_type = request.getParameter("real_invoice_type");
						String register = request.getParameter("register");
						String register_ID = request.getParameter("register_ID");
						String register_time = request.getParameter("register_time");
						String invoice_group = request.getParameter("invoice_group");
						double invoiced_subtotal_sum = 0.0D;
						int n = 0;
						if (n != 0)
						{
							response.sendRedirect((new StringBuilder("crm/invoice/register_ok.jsp?order_ID=")).append(reasonexact).append("&finished_tag=0").toString());
						} else
						{
							int which_time = 0;
							String sql = (new StringBuilder("select which_time from crm_order where order_ID='")).append(reasonexact).append("'").toString();
							ResultSet rset = crm_db.executeQuery(sql);
							if (rset.next())
								which_time = rset.getInt("which_time") + 1;
							double invoiced_subtotal_sum_all = 0.0D;
							for (int j = 1; j <= num; j++)
							{
								invoiced_subtotal_sum = 0.0D;
								String tem_details_number = (new StringBuilder("details_number")).append(j).toString();
								String tem_product_name = (new StringBuilder("product_name")).append(j).toString();
								String tem_product_ID = (new StringBuilder("product_ID")).append(j).toString();
								String tem_subtotal = (new StringBuilder("subtotal")).append(j).toString();
								String tem_invoice_sum = (new StringBuilder("invoice_sum")).append(j).toString();
								String tem_invoiced_subtotal = (new StringBuilder("invoiced_subtotal")).append(j).toString();
								String tem_remark = (new StringBuilder("remark")).append(j).toString();
								String product_name = request.getParameter(tem_product_name);
								String product_ID = request.getParameter(tem_product_ID);
								String details_number = request.getParameter(tem_details_number);
								String subtotal = request.getParameter(tem_subtotal);
								String invoice_sum2 = request.getParameter(tem_invoice_sum);
								String remark = request.getParameter(tem_remark);
								if (invoice_sum2 != null && !invoice_sum2.equals(""))
								{
									StringTokenizer tokenTO1 = new StringTokenizer(invoice_sum2, ",");
									String invoice_sum;
									String invoice_sum1;
									for (invoice_sum = ""; tokenTO1.hasMoreTokens(); invoice_sum = (new StringBuilder(String.valueOf(invoice_sum))).append(invoice_sum1).toString())
										invoice_sum1 = tokenTO1.nextToken();

									invoiced_subtotal_sum_all += Double.parseDouble(invoice_sum);
									String sql1 = (new StringBuilder("insert into crm_ordering(reason,reasonexact,customer_ID,customer_name,real_customer_mailing_address,real_contact_person,real_contact_person_tel,real_contact_person_fax,real_invoice_time,real_invoice_type,register,register_ID,details_number,product_ID,product_name,subtotal,invoice_sum,remark,invoice_group,invoice_dra_tag,which_time) values ('")).append(reason).append("','").append(reasonexact).append("','").append(customer_ID).append("','").append(customer_name).append("','").append(real_customer_mailing_address).append("','").append(real_contact_person).append("','").append(real_contact_person_tel).append("','").append(real_contact_person_fax).append("','").append(real_invoice_time).append("','").append(real_invoice_type).append("','").append(register).append("','").append(register_ID).append("','").append(details_number).append("','").append(product_ID).append("','").append(product_name).append("','").append(subtotal).append("','").append(invoice_sum).append("','").append(remark).append("','").append(invoice_group).append("','1','").append(which_time).append("')").toString();
									crm_db.executeUpdate(sql1);
								}
							}

							String sql1 = (new StringBuilder("update crm_order set invoice_check_tag='5',invoice_tag='2',which_time='")).append(which_time).append("' where order_id='").append(reasonexact).append("'").toString();
							crm_db.executeUpdate(sql1);
							response.sendRedirect("crm/invoice/register_ok.jsp?finished_tag=4");
						}
					} else
					{
						response.sendRedirect((new StringBuilder("crm/invoice/register_ok_b.jsp?order_ID=")).append(reasonexact).toString());
					}
				} else
				{
					response.sendRedirect((new StringBuilder("crm/invoice/register_ok.jsp?order_ID=")).append(reasonexact).append("&finished_tag=3").toString());
				}
				crm_db.commit();
				crm_db.close();
			} else
			{
				response.sendRedirect("error_conn.htm");
			}
		}
		catch (Exception ex)
		{
			ex.printStackTrace();
		}
	}
}
